<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.9.1"/>
<title>OCILIB (C and C++ Driver for Oracle): ocilib::Collection&lt; TDataType &gt; Class Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">OCILIB (C and C++ Driver for Oracle)
   &#160;<span id="projectnumber">4.2.1</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.9.1 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>About</span></a></li>
      <li><a href="modules.html"><span>Documentation</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('classocilib_1_1_collection.html','');});
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="classocilib_1_1_collection-members.html">List of all members</a> &#124;
<a href="#nested-classes">Classes</a> &#124;
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a>  </div>
  <div class="headertitle">
<div class="title">ocilib::Collection&lt; TDataType &gt; Class Template Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p><a class="el" href="classocilib_1_1_object.html" title="Object identifying the SQL data type OBJECT. ">Object</a> identifying the SQL data types VARRAY and NESTED TABLE.  
 <a href="classocilib_1_1_collection.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="ocilib_8hpp_source.html">ocilib.hpp</a>&gt;</code></p>

<p>Inherits <a class="el" href="classocilib_1_1_handle_holder.html">ocilib::HandleHolder&lt; OCI_Coll * &gt;</a>, and <a class="el" href="classocilib_1_1_streamable.html">ocilib::Streamable</a>.</p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classocilib_1_1_collection_1_1_element.html">Element</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Class used for handling transient collection value. it is used internally by:  <a href="classocilib_1_1_collection_1_1_element.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classocilib_1_1_collection_1_1_iterator.html">Iterator</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">STL compliant bi-directional iterator class.  <a href="classocilib_1_1_collection_1_1_iterator.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:a71184e168473a0c48994b2129029793a"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classocilib_1_1_collection.html#a71184e168473a0c48994b2129029793a">CollectionTypeValues</a> { <a class="el" href="classocilib_1_1_collection.html#a71184e168473a0c48994b2129029793aae3f40a9c4a4cf57561ae1a2d3c8faa5d">Varray</a> = OCI_COLL_VARRAY, 
<a class="el" href="classocilib_1_1_collection.html#a71184e168473a0c48994b2129029793aa1ef12ebe57fe692a8dc59a7d3512eb56">NestedTable</a> = OCI_COLL_NESTED_TABLE, 
<a class="el" href="classocilib_1_1_collection.html#a71184e168473a0c48994b2129029793aa006fe0225ac94e28451b81a912612095">IndexedTable</a> = OCI_COLL_INDEXED_TABLE
 }</td></tr>
<tr class="memdesc:a71184e168473a0c48994b2129029793a"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classocilib_1_1_collection.html" title="Object identifying the SQL data types VARRAY and NESTED TABLE. ">Collection</a> type enumerated values.  <a href="classocilib_1_1_collection.html#a71184e168473a0c48994b2129029793a">More...</a><br /></td></tr>
<tr class="separator:a71184e168473a0c48994b2129029793a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa14b65acd18ddc88c552b449bc6914c1"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classocilib_1_1_enum.html">Enum</a>&lt; <a class="el" href="classocilib_1_1_collection.html#a71184e168473a0c48994b2129029793a">CollectionTypeValues</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classocilib_1_1_collection.html#aa14b65acd18ddc88c552b449bc6914c1">CollectionType</a></td></tr>
<tr class="memdesc:aa14b65acd18ddc88c552b449bc6914c1"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classocilib_1_1_collection.html" title="Object identifying the SQL data types VARRAY and NESTED TABLE. ">Collection</a> type.  <a href="#aa14b65acd18ddc88c552b449bc6914c1">More...</a><br /></td></tr>
<tr class="separator:aa14b65acd18ddc88c552b449bc6914c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aade7a5c445025968f0b91357a2925c5f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aade7a5c445025968f0b91357a2925c5f"></a>
typedef <a class="el" href="classocilib_1_1_collection_1_1_iterator.html">Iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classocilib_1_1_collection.html#aade7a5c445025968f0b91357a2925c5f">iterator</a></td></tr>
<tr class="memdesc:aade7a5c445025968f0b91357a2925c5f"><td class="mdescLeft">&#160;</td><td class="mdescRight">common iterator declaration <br /></td></tr>
<tr class="separator:aade7a5c445025968f0b91357a2925c5f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a0f723e75bedfd51bfc3bc9108df63200"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0f723e75bedfd51bfc3bc9108df63200"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classocilib_1_1_collection.html#a0f723e75bedfd51bfc3bc9108df63200">Collection</a> ()</td></tr>
<tr class="memdesc:a0f723e75bedfd51bfc3bc9108df63200"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create an empty null <a class="el" href="classocilib_1_1_collection.html" title="Object identifying the SQL data types VARRAY and NESTED TABLE. ">Collection</a> instance. <br /></td></tr>
<tr class="separator:a0f723e75bedfd51bfc3bc9108df63200"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a85de261b1f8af8b6609c5482923d7a90"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classocilib_1_1_collection.html#a85de261b1f8af8b6609c5482923d7a90">Collection</a> (const <a class="el" href="classocilib_1_1_type_info.html">TypeInfo</a> &amp;typeInfo)</td></tr>
<tr class="memdesc:a85de261b1f8af8b6609c5482923d7a90"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parametrized constructor.  <a href="#a85de261b1f8af8b6609c5482923d7a90">More...</a><br /></td></tr>
<tr class="separator:a85de261b1f8af8b6609c5482923d7a90"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0bbe748f6a680d9ae5a8b159954e73d4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0bbe748f6a680d9ae5a8b159954e73d4"></a>
<a class="el" href="classocilib_1_1_collection.html#aa14b65acd18ddc88c552b449bc6914c1">CollectionType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classocilib_1_1_collection.html#a0bbe748f6a680d9ae5a8b159954e73d4">GetType</a> () const </td></tr>
<tr class="memdesc:a0bbe748f6a680d9ae5a8b159954e73d4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the type of the collection. <br /></td></tr>
<tr class="separator:a0bbe748f6a680d9ae5a8b159954e73d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae5d70e8e0ef78bfa28b9f63ad0532d57"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae5d70e8e0ef78bfa28b9f63ad0532d57"></a>
unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classocilib_1_1_collection.html#ae5d70e8e0ef78bfa28b9f63ad0532d57">GetMax</a> () const </td></tr>
<tr class="memdesc:ae5d70e8e0ef78bfa28b9f63ad0532d57"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the maximum number of elements for the collection. <br /></td></tr>
<tr class="separator:ae5d70e8e0ef78bfa28b9f63ad0532d57"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a601a1afc3e7811e799c4ecdebc9db862"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a601a1afc3e7811e799c4ecdebc9db862"></a>
unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classocilib_1_1_collection.html#a601a1afc3e7811e799c4ecdebc9db862">GetSize</a> () const </td></tr>
<tr class="memdesc:a601a1afc3e7811e799c4ecdebc9db862"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the total number of elements in the collection. <br /></td></tr>
<tr class="separator:a601a1afc3e7811e799c4ecdebc9db862"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4f8e06682189c797211ba7c58c5c9059"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classocilib_1_1_collection.html#a4f8e06682189c797211ba7c58c5c9059">GetCount</a> () const </td></tr>
<tr class="memdesc:a4f8e06682189c797211ba7c58c5c9059"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the current number of elements in the collection.  <a href="#a4f8e06682189c797211ba7c58c5c9059">More...</a><br /></td></tr>
<tr class="separator:a4f8e06682189c797211ba7c58c5c9059"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9289ef058442c9d6b2ce59311fcad26c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classocilib_1_1_collection.html#a9289ef058442c9d6b2ce59311fcad26c">Truncate</a> (unsigned int size)</td></tr>
<tr class="memdesc:a9289ef058442c9d6b2ce59311fcad26c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Trim the given number of elements from the end of the collection.  <a href="#a9289ef058442c9d6b2ce59311fcad26c">More...</a><br /></td></tr>
<tr class="separator:a9289ef058442c9d6b2ce59311fcad26c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a86b2eed0e7301e3504a65ddb282bf255"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a86b2eed0e7301e3504a65ddb282bf255"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classocilib_1_1_collection.html#a86b2eed0e7301e3504a65ddb282bf255">Clear</a> ()</td></tr>
<tr class="memdesc:a86b2eed0e7301e3504a65ddb282bf255"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clear all items of the collection. <br /></td></tr>
<tr class="separator:a86b2eed0e7301e3504a65ddb282bf255"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac12beaecc9fccabcc5eab2165a7cccbb"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classocilib_1_1_collection.html#ac12beaecc9fccabcc5eab2165a7cccbb">IsElementNull</a> (unsigned int index) const </td></tr>
<tr class="memdesc:ac12beaecc9fccabcc5eab2165a7cccbb"><td class="mdescLeft">&#160;</td><td class="mdescRight">check if the element at the given index is null  <a href="#ac12beaecc9fccabcc5eab2165a7cccbb">More...</a><br /></td></tr>
<tr class="separator:ac12beaecc9fccabcc5eab2165a7cccbb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8d61138f7b80778c1bb0f7d85878dad9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classocilib_1_1_collection.html#a8d61138f7b80778c1bb0f7d85878dad9">SetElementNull</a> (unsigned int index)</td></tr>
<tr class="memdesc:a8d61138f7b80778c1bb0f7d85878dad9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Nullify the element at the given index.  <a href="#a8d61138f7b80778c1bb0f7d85878dad9">More...</a><br /></td></tr>
<tr class="separator:a8d61138f7b80778c1bb0f7d85878dad9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae2031e4b5ef5b1d1ea749956959164bf"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classocilib_1_1_collection.html#ae2031e4b5ef5b1d1ea749956959164bf">Delete</a> (unsigned int index) const </td></tr>
<tr class="memdesc:ae2031e4b5ef5b1d1ea749956959164bf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Delete the element at the given position in the Nested Table <a class="el" href="classocilib_1_1_collection.html" title="Object identifying the SQL data types VARRAY and NESTED TABLE. ">Collection</a>.  <a href="#ae2031e4b5ef5b1d1ea749956959164bf">More...</a><br /></td></tr>
<tr class="separator:ae2031e4b5ef5b1d1ea749956959164bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac3d4ddfa0beea28b6de12712984643fe"><td class="memItemLeft" align="right" valign="top">TDataType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classocilib_1_1_collection.html#ac3d4ddfa0beea28b6de12712984643fe">Get</a> (unsigned int index) const </td></tr>
<tr class="memdesc:ac3d4ddfa0beea28b6de12712984643fe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the collection element value at the given position.  <a href="#ac3d4ddfa0beea28b6de12712984643fe">More...</a><br /></td></tr>
<tr class="separator:ac3d4ddfa0beea28b6de12712984643fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6d5d3e00d9f3a3371bef1f8f9c53547b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classocilib_1_1_collection.html#a6d5d3e00d9f3a3371bef1f8f9c53547b">Set</a> (unsigned int index, const TDataType &amp;value)</td></tr>
<tr class="memdesc:a6d5d3e00d9f3a3371bef1f8f9c53547b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the collection element value at the given position.  <a href="#a6d5d3e00d9f3a3371bef1f8f9c53547b">More...</a><br /></td></tr>
<tr class="separator:a6d5d3e00d9f3a3371bef1f8f9c53547b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac5d8ece6002f537fe70587ab5631d472"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classocilib_1_1_collection.html#ac5d8ece6002f537fe70587ab5631d472">Append</a> (const TDataType &amp;data)</td></tr>
<tr class="memdesc:ac5d8ece6002f537fe70587ab5631d472"><td class="mdescLeft">&#160;</td><td class="mdescRight">Append the given element value at the end of the collection.  <a href="#ac5d8ece6002f537fe70587ab5631d472">More...</a><br /></td></tr>
<tr class="separator:ac5d8ece6002f537fe70587ab5631d472"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5d094d25a4a6ebb6753778f899976ded"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5d094d25a4a6ebb6753778f899976ded"></a>
<a class="el" href="classocilib_1_1_type_info.html">TypeInfo</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classocilib_1_1_collection.html#a5d094d25a4a6ebb6753778f899976ded">GetTypeInfo</a> () const </td></tr>
<tr class="memdesc:a5d094d25a4a6ebb6753778f899976ded"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the type information object associated to the collection. <br /></td></tr>
<tr class="separator:a5d094d25a4a6ebb6753778f899976ded"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aecd4d0280a4f3ff112eb7bcf6fd27d9d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aecd4d0280a4f3ff112eb7bcf6fd27d9d"></a>
<a class="el" href="classocilib_1_1_collection.html">Collection</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classocilib_1_1_collection.html#aecd4d0280a4f3ff112eb7bcf6fd27d9d">Clone</a> () const </td></tr>
<tr class="memdesc:aecd4d0280a4f3ff112eb7bcf6fd27d9d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clone the current instance to a new one performing deep copy. <br /></td></tr>
<tr class="separator:aecd4d0280a4f3ff112eb7bcf6fd27d9d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0621e1c17598febc7119ee3b714d72a5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0621e1c17598febc7119ee3b714d72a5"></a>
<a class="el" href="namespaceocilib.html#a01daa07e307e429b66fb80f442362237">ostring</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classocilib_1_1_collection.html#a0621e1c17598febc7119ee3b714d72a5">ToString</a> () const </td></tr>
<tr class="memdesc:a0621e1c17598febc7119ee3b714d72a5"><td class="mdescLeft">&#160;</td><td class="mdescRight">return a string representation of the current collection <br /></td></tr>
<tr class="separator:a0621e1c17598febc7119ee3b714d72a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5e44fc261abbfad92fe2ed7a6eea1e21"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5e44fc261abbfad92fe2ed7a6eea1e21"></a>
<a class="el" href="classocilib_1_1_collection_1_1_iterator.html">Iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classocilib_1_1_collection.html#a5e44fc261abbfad92fe2ed7a6eea1e21">begin</a> ()</td></tr>
<tr class="memdesc:a5e44fc261abbfad92fe2ed7a6eea1e21"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns an iterator pointing to the first element in the collection. <br /></td></tr>
<tr class="separator:a5e44fc261abbfad92fe2ed7a6eea1e21"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a60f26feeb248aa5962f7c1fdb7dc8120"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a60f26feeb248aa5962f7c1fdb7dc8120"></a>
<a class="el" href="classocilib_1_1_collection_1_1_iterator.html">Iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classocilib_1_1_collection.html#a60f26feeb248aa5962f7c1fdb7dc8120">end</a> ()</td></tr>
<tr class="memdesc:a60f26feeb248aa5962f7c1fdb7dc8120"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns an iterator referring to the past-the-end element in the collection. <br /></td></tr>
<tr class="separator:a60f26feeb248aa5962f7c1fdb7dc8120"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeb3ec69d71449d20b5b07e1984ec01ef"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aeb3ec69d71449d20b5b07e1984ec01ef"></a>
<a class="el" href="classocilib_1_1_collection_1_1_element.html">Element</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classocilib_1_1_collection.html#aeb3ec69d71449d20b5b07e1984ec01ef">operator[]</a> (unsigned int index)</td></tr>
<tr class="memdesc:aeb3ec69d71449d20b5b07e1984ec01ef"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the element at a given position in the collection. <br /></td></tr>
<tr class="separator:aeb3ec69d71449d20b5b07e1984ec01ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><h3>template&lt;class TDataType&gt;<br />
class ocilib::Collection&lt; TDataType &gt;</h3>

<p><a class="el" href="classocilib_1_1_object.html" title="Object identifying the SQL data type OBJECT. ">Object</a> identifying the SQL data types VARRAY and NESTED TABLE. </p>
<p>This class wraps the OCILIB object handle OCI_Coll and its related methods </p>

<p>Definition at line <a class="el" href="ocilib_8hpp_source.html#l04715">4715</a> of file <a class="el" href="ocilib_8hpp_source.html">ocilib.hpp</a>.</p>
</div><h2 class="groupheader">Member Typedef Documentation</h2>
<a class="anchor" id="aa14b65acd18ddc88c552b449bc6914c1"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class TDataType&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="classocilib_1_1_enum.html">Enum</a>&lt;<a class="el" href="classocilib_1_1_collection.html#a71184e168473a0c48994b2129029793a">CollectionTypeValues</a>&gt; <a class="el" href="classocilib_1_1_collection.html">ocilib::Collection</a>&lt; TDataType &gt;::<a class="el" href="classocilib_1_1_collection.html#aa14b65acd18ddc88c552b449bc6914c1">CollectionType</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><a class="el" href="classocilib_1_1_collection.html" title="Object identifying the SQL data types VARRAY and NESTED TABLE. ">Collection</a> type. </p>
<p>Possible values are <a class="el" href="classocilib_1_1_collection.html#a71184e168473a0c48994b2129029793a" title="Collection type enumerated values. ">Collection::CollectionTypeValues</a> </p>

<p>Definition at line <a class="el" href="ocilib_8hpp_source.html#l04753">4753</a> of file <a class="el" href="ocilib_8hpp_source.html">ocilib.hpp</a>.</p>

</div>
</div>
<h2 class="groupheader">Member Enumeration Documentation</h2>
<a class="anchor" id="a71184e168473a0c48994b2129029793a"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class TDataType&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="classocilib_1_1_collection.html#a71184e168473a0c48994b2129029793a">ocilib::Collection::CollectionTypeValues</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><a class="el" href="classocilib_1_1_collection.html" title="Object identifying the SQL data types VARRAY and NESTED TABLE. ">Collection</a> type enumerated values. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="a71184e168473a0c48994b2129029793aae3f40a9c4a4cf57561ae1a2d3c8faa5d"></a>Varray&#160;</td><td class="fielddoc">
<p><a class="el" href="classocilib_1_1_collection.html" title="Object identifying the SQL data types VARRAY and NESTED TABLE. ">Collection</a> is a VARRAY </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a71184e168473a0c48994b2129029793aa1ef12ebe57fe692a8dc59a7d3512eb56"></a>NestedTable&#160;</td><td class="fielddoc">
<p><a class="el" href="classocilib_1_1_collection.html" title="Object identifying the SQL data types VARRAY and NESTED TABLE. ">Collection</a> is a NESTED TABLE </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a71184e168473a0c48994b2129029793aa006fe0225ac94e28451b81a912612095"></a>IndexedTable&#160;</td><td class="fielddoc">
<p><a class="el" href="classocilib_1_1_collection.html" title="Object identifying the SQL data types VARRAY and NESTED TABLE. ">Collection</a> is a PL/SQL TABLE INDEX BY </p>
</td></tr>
</table>

<p>Definition at line <a class="el" href="ocilib_8hpp_source.html#l04736">4736</a> of file <a class="el" href="ocilib_8hpp_source.html">ocilib.hpp</a>.</p>

</div>
</div>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a85de261b1f8af8b6609c5482923d7a90"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class TDataType &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classocilib_1_1_collection.html">ocilib::Collection</a>&lt; TDataType &gt;::<a class="el" href="classocilib_1_1_collection.html">Collection</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classocilib_1_1_type_info.html">TypeInfo</a> &amp;&#160;</td>
          <td class="paramname"><em>typeInfo</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Parametrized constructor. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">typeInfo</td><td>- type info descriptor </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="ocilib__impl_8hpp_source.html#l03438">3438</a> of file <a class="el" href="ocilib__impl_8hpp_source.html">ocilib_impl.hpp</a>.</p>

<p>References <a class="el" href="namespaceocilib.html#ada9a964035fd103d4ec07500f404a658">ocilib::Check()</a>, <a class="el" href="classocilib_1_1_type_info.html#a16c51630afbeabc58e17cfbc05225ef1">ocilib::TypeInfo::GetConnection()</a>, <a class="el" href="group___ocilib_c_api_collections.html#gaa2c5c18fa416fe1f955ccb5dbff43046">OCI_CollCreate()</a>, and <a class="el" href="group___ocilib_c_api_collections.html#ga8663babe980c99ff0441feedff973912">OCI_CollFree()</a>.</p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a4f8e06682189c797211ba7c58c5c9059"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class TDataType &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int <a class="el" href="classocilib_1_1_collection.html">ocilib::Collection</a>&lt; TDataType &gt;::GetCount </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns the current number of elements in the collection. </p>
<dl class="section note"><dt>Note</dt><dd><ul>
<li>For VARRAYs, it returns the same value than <a class="el" href="classocilib_1_1_collection.html#a601a1afc3e7811e799c4ecdebc9db862" title="Returns the total number of elements in the collection. ">GetSize()</a> as VARRAYs cannot contains holes</li>
<li>For Nested Tables that are spare collections that can have holes, it returns the total number of elements minus the total of deleted elements </li>
</ul>
</dd></dl>

<p>Definition at line <a class="el" href="ocilib__impl_8hpp_source.html#l03485">3485</a> of file <a class="el" href="ocilib__impl_8hpp_source.html">ocilib_impl.hpp</a>.</p>

<p>References <a class="el" href="namespaceocilib.html#ada9a964035fd103d4ec07500f404a658">ocilib::Check()</a>, and <a class="el" href="group___ocilib_c_api_collections.html#ga2ee3beec271bcc152035aa82b0f474ab">OCI_CollGetCount()</a>.</p>

</div>
</div>
<a class="anchor" id="a9289ef058442c9d6b2ce59311fcad26c"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class TDataType &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classocilib_1_1_collection.html">ocilib::Collection</a>&lt; TDataType &gt;::Truncate </td>
          <td>(</td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>size</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Trim the given number of elements from the end of the collection. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">size</td><td>- Number of elements to trim </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="ocilib__impl_8hpp_source.html#l03492">3492</a> of file <a class="el" href="ocilib__impl_8hpp_source.html">ocilib_impl.hpp</a>.</p>

<p>References <a class="el" href="namespaceocilib.html#ada9a964035fd103d4ec07500f404a658">ocilib::Check()</a>, and <a class="el" href="group___ocilib_c_api_collections.html#gab8723c4b32218d254261cec55056797b">OCI_CollTrim()</a>.</p>

</div>
</div>
<a class="anchor" id="ac12beaecc9fccabcc5eab2165a7cccbb"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class TDataType &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classocilib_1_1_collection.html">ocilib::Collection</a>&lt; TDataType &gt;::IsElementNull </td>
          <td>(</td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>index</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>check if the element at the given index is null </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">index</td><td>- Index of the element</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd><a class="el" href="classocilib_1_1_collection.html" title="Object identifying the SQL data types VARRAY and NESTED TABLE. ">Collection</a> Index start at 1 </dd></dl>

<p>Definition at line <a class="el" href="ocilib__impl_8hpp_source.html#l03504">3504</a> of file <a class="el" href="ocilib__impl_8hpp_source.html">ocilib_impl.hpp</a>.</p>

<p>References <a class="el" href="namespaceocilib.html#ada9a964035fd103d4ec07500f404a658">ocilib::Check()</a>, <a class="el" href="group___ocilib_c_api_collections.html#ga7b1907d092d699217382a80a70e90064">OCI_CollGetElem()</a>, and <a class="el" href="group___ocilib_c_api_collections.html#ga51cbf0cbad5adf8d098737c896259e6e">OCI_ElemIsNull()</a>.</p>

</div>
</div>
<a class="anchor" id="a8d61138f7b80778c1bb0f7d85878dad9"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class TDataType &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classocilib_1_1_collection.html">ocilib::Collection</a>&lt; TDataType &gt;::SetElementNull </td>
          <td>(</td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>index</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Nullify the element at the given index. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">index</td><td>- Index of the element</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd><a class="el" href="classocilib_1_1_collection.html" title="Object identifying the SQL data types VARRAY and NESTED TABLE. ">Collection</a> Index start at 1 </dd></dl>

<p>Definition at line <a class="el" href="ocilib__impl_8hpp_source.html#l03510">3510</a> of file <a class="el" href="ocilib__impl_8hpp_source.html">ocilib_impl.hpp</a>.</p>

<p>References <a class="el" href="namespaceocilib.html#ada9a964035fd103d4ec07500f404a658">ocilib::Check()</a>, <a class="el" href="group___ocilib_c_api_collections.html#ga7b1907d092d699217382a80a70e90064">OCI_CollGetElem()</a>, and <a class="el" href="group___ocilib_c_api_collections.html#ga4fca27ec2d4a5a9c0948527c079a996a">OCI_ElemSetNull()</a>.</p>

</div>
</div>
<a class="anchor" id="ae2031e4b5ef5b1d1ea749956959164bf"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class TDataType &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classocilib_1_1_collection.html">ocilib::Collection</a>&lt; TDataType &gt;::Delete </td>
          <td>(</td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>index</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Delete the element at the given position in the Nested Table <a class="el" href="classocilib_1_1_collection.html" title="Object identifying the SQL data types VARRAY and NESTED TABLE. ">Collection</a>. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">index</td><td>- Index of the element to delete</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd><a class="el" href="classocilib_1_1_collection.html" title="Object identifying the SQL data types VARRAY and NESTED TABLE. ">Collection</a> indexes start at position 1.</dd></dl>
<dl class="section warning"><dt>Warning</dt><dd><a class="el" href="classocilib_1_1_collection.html#ae2031e4b5ef5b1d1ea749956959164bf" title="Delete the element at the given position in the Nested Table Collection. ">Delete()</a> is only valid for nested tables (e.g. when collection type is <a class="el" href="classocilib_1_1_collection.html#a71184e168473a0c48994b2129029793aa1ef12ebe57fe692a8dc59a7d3512eb56">Collection::NestedTable</a></dd></dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>if the input collection is a nested table, it returns true if the element is successfully deleted</li>
<li>if the input collection is a VARRAY, it always returns false </li>
</ul>
</dd></dl>

<p>Definition at line <a class="el" href="ocilib__impl_8hpp_source.html#l03516">3516</a> of file <a class="el" href="ocilib__impl_8hpp_source.html">ocilib_impl.hpp</a>.</p>

<p>References <a class="el" href="namespaceocilib.html#ada9a964035fd103d4ec07500f404a658">ocilib::Check()</a>, and <a class="el" href="group___ocilib_c_api_collections.html#gaa786b39d47cf6796f59cabb79612d05c">OCI_CollDeleteElem()</a>.</p>

</div>
</div>
<a class="anchor" id="ac3d4ddfa0beea28b6de12712984643fe"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class TDataType &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">TDataType <a class="el" href="classocilib_1_1_collection.html">ocilib::Collection</a>&lt; TDataType &gt;::Get </td>
          <td>(</td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>index</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Return the collection element value at the given position. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">index</td><td>- Index of the element </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="ocilib__impl_8hpp_source.html#l03534">3534</a> of file <a class="el" href="ocilib__impl_8hpp_source.html">ocilib_impl.hpp</a>.</p>

<p>References <a class="el" href="namespaceocilib.html#ada9a964035fd103d4ec07500f404a658">ocilib::Check()</a>, and <a class="el" href="group___ocilib_c_api_collections.html#ga7b1907d092d699217382a80a70e90064">OCI_CollGetElem()</a>.</p>

</div>
</div>
<a class="anchor" id="a6d5d3e00d9f3a3371bef1f8f9c53547b"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class TDataType&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classocilib_1_1_collection.html">ocilib::Collection</a>&lt; TDataType &gt;::Set </td>
          <td>(</td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>index</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const TDataType &amp;&#160;</td>
          <td class="paramname"><em>value</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Set the collection element value at the given position. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">index</td><td>- Index of the element </td></tr>
    <tr><td class="paramname">value</td><td>- Value to set </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="ocilib__impl_8hpp_source.html#l03540">3540</a> of file <a class="el" href="ocilib__impl_8hpp_source.html">ocilib_impl.hpp</a>.</p>

<p>References <a class="el" href="namespaceocilib.html#ada9a964035fd103d4ec07500f404a658">ocilib::Check()</a>, <a class="el" href="group___ocilib_c_api_collections.html#ga7b1907d092d699217382a80a70e90064">OCI_CollGetElem()</a>, and <a class="el" href="group___ocilib_c_api_collections.html#gab0d26110f3a337be0fefbe034bf332d4">OCI_CollSetElem()</a>.</p>

</div>
</div>
<a class="anchor" id="ac5d8ece6002f537fe70587ab5631d472"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class TDataType&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classocilib_1_1_collection.html">ocilib::Collection</a>&lt; TDataType &gt;::Append </td>
          <td>(</td>
          <td class="paramtype">const TDataType &amp;&#160;</td>
          <td class="paramname"><em>data</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Append the given element value at the end of the collection. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">data</td><td>- Value to add </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="ocilib__impl_8hpp_source.html#l03550">3550</a> of file <a class="el" href="ocilib__impl_8hpp_source.html">ocilib_impl.hpp</a>.</p>

<p>References <a class="el" href="namespaceocilib.html#ada9a964035fd103d4ec07500f404a658">ocilib::Check()</a>, <a class="el" href="group___ocilib_c_api_collections.html#ga8b92db49c038ae235ef85743194ace83">OCI_CollAppend()</a>, <a class="el" href="group___ocilib_c_api_collections.html#gafe5b77f207c626e4a942a3080d2cb002">OCI_CollGetTypeInfo()</a>, <a class="el" href="group___ocilib_c_api_collections.html#ga2103a0d8230001c7fc217189688244cb">OCI_ElemCreate()</a>, and <a class="el" href="group___ocilib_c_api_collections.html#gadf1010d812aa53c3b27d991fa47b4f98">OCI_ElemFree()</a>.</p>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="namespaceocilib.html">ocilib</a></li><li class="navelem"><a class="el" href="classocilib_1_1_collection.html">Collection</a></li>
    <li class="footer">Generated on Mon Mar 21 2016 22:26:38 for OCILIB (C and C++ Driver for Oracle) by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.9.1 </li>
  </ul>
</div>
</body>
</html>
